package RTL.Task1;


/*问题
定义长度为[16][16]的整形二维数组并输入所有位置的元素值
分别实现二维数组中所有行和所有列所有元素的累加并打印
再分别实现二维数组左上角到右下角
右上角到左下角所有元素累加并进行打印*/


public class ArrayTable {
    public static void main(String[] args) {
        //打印16x16的表格
        int [][] inputArray = new int [16][16];
        for (int i = 0; i <= 15; i++) {
            for (int j = 0; j <= 15; j++) {
                 inputArray[i][j] = 2;
                System.out.print(inputArray[i][j] + " ");

                 }
            System.out.println();
            }

            System.out.println("第一行到最后一行的和为：");
            //上下循环每一行，每一行从左向右叠加
            for (int i = 0; i < inputArray.length; i++) {
                int sum = 0;
                for (int j = 0; j < inputArray.length; j++) {
                    sum += inputArray[i][j];
                }
                System.out.print(sum + " ");
            }
            System.out.println();

            System.out.println("第一列到最后一列的和为：");
            //左右循环每一行，每一行从上向下叠加
            for (int i = 0; i < inputArray.length; i++) {
                int sum = 0;
                for (int j = 0; j < inputArray.length; j++) {
                    sum += inputArray[j][i];
                }
                System.out.print(sum + " ");
            }
            System.out.println();

            int sum, i, j;
            System.out.println("左上右下累加和为：");
            //初始化辅助变量，下表i j相等，从小到大一直累加
            sum = 0;
            i = 0;
            j = 0;
            while (i < inputArray.length){
                sum = sum + inputArray[i][j];
                i++;
                j++;
            }
            System.out.println(sum);

            System.out.println("左上右下累加和为：");
            //初始化辅助变量，下表i j相等，从小到大一直累加
            sum= 0;
            i = 0;
            j = 0;
            while (i < inputArray.length){
                sum = sum + inputArray[i][j];
                i++;
                j++;
            }
            System.out.println(sum);

        }
    }

